ShowTable of Contents
Expeditor integrator Tivoli Monitoring Service Configuration
If the Expeditor integrator uses the Expeditor integrator Tivoli Monitoring Service (iTMS) for sending events to the Tivoli Enterprise Console (TEC), additional configuration steps are required. This chapter explains the TecLcfUtil utility that was developed to support the administrator during the installation and configuration phases.
iTMS Configuration Options
Table 30 provides the currently available configuration options for the Expeditor integrator Tivoli Monitoring Service (iTMS). Make sure that these values are available and have been confirmed with TEC Administrator(s).
Table 30: Tivoli Monitoring Service (ITMS) configuration properties
Property | Explanation |
| Tag which identifies configuration for connecting to Tivoli back-end system TEC1 |
| "ON" or "OFF" indicates Maintenance Mode (see chapter ý6.6) |
| "TRUE" or "FALSE" defines whether captured events during Maintenance Mode should be locally persisted to log file (specified under LogFileLocation) |
param name= "LogFileLocation" value= | String which contains the path and the name of the log file to which the received events are persisted during Maintenance Mode (if LogToFile=TRUE (e.g. "c://tmmaintenance.log") |
| Disables or enables sending TEC events. Possible values:
DISABLE – do not forward any TEC events
LCF – forward events to local Tivoli endpoint
SOCKET – forward events directly to TEC
|
| tec-server-name.yourco.com
Hostname or IP address and port of Tivoli back-end system (TEC), required for transport type = SOCKET
Default TEC port: 5529
|
| Max size of the forwarded events in kByte (default: 4kByte) |
| path to the buffer for the TEC events (default: persistent/tec_name/tivoli.send.cache; tec_name is the name of the configured TEC connection) |
| Switch space replacement in events on or off: true OR false
(default: true)
|
| location of the trace file
(default: persistent/tec_name/eif.trc ; tec_name is the name of the configured TEC connection)
trace level is switched ON or OFF (default level: OFF)
|
| location of the log file
(default: persistent/tec_name/eif.log ; tec_name is the name of the configured TEC connection)
log level is switched ON or OFF (default level: OFF)
|
| which logging events should be forwarded: ERROR | WARNING | DEBUG | INFO |
| Expditor integrator events with these topics are forwarded.
Example: com/ibm/integrator/XPDintegApplStatusEvent
|
| List of Expeditor integrator components (bundle names) from which events are captured.
Example: com.ibm.rcp.integrator.persistencesvc
|
| Status information of the monitored bundles which are forwarded as events to Tivoli back-end system (TEC)
Possible values: INSTALLED, STARTED, STOPPED |
Listing 29 contains an example for the iTMS configuration in which the locally installed Tivoli Endpoint is used as the communication channel between the remote server (system where Expeditor integrator is running on) and the Tivoli Monitoring back-end (TEC). This is especially recommended for customers with already installed Tivoli Endpoints since no additional port in the firewall between back-end and remote location needs to be opened.
Listing 29: Tivoli Monitoring Service configuration example for Expeditor integrator (connection to TEC1 is done through a locally installed Tivoli Endpoint)
<monitoring>
<tec-monitor name="tec1">
<maintenance mode="OFF">
<param name="LogToFile" value="FALSE"/>
<param name="LogFileLocation" value="c://tmp//maintenance.log"/>
</maintenance>
<transport-type>LCF</transport-type>
<hostname>tec-server-name.yourco.com</hostname>
<event-max-size>4</event-max-size>
<buffer-event-path>persistent/tec1/tivoli.send.cache</buffer-event-path>
<space-replacement>true</space-replacement>
<trace>
<filename>persistent/tec1/eif.trc</filename>
<level>OFF</level>
</trace>
<log>
<filename>persistent/tec1/eif.log</filename>
<level>OFF</level>
</log>
<threshold>ERROR</threshold>
<topics>
<topic>com/ibm/integrator/XPDintegApplStatusEvent</topic>
</topics>
<monitored-bundles>
<bundle>com.ibm.rcp.integrator.persistencesvc</bundle>
<bundle>com.ibm.rcp.integrator.rest</bundle>
</monitored-bundles>
<monitored-status>
<status>STOPPED</status>
</monitored-status>
</tec-monitor>
<tec-monitor name="tec2" maintenance-mode="OFF">
If a locally installed Tivoli Endpoint is used for sending events to the Tivoli Enterprise Console (TEC), please, make sure that the following DLLs are available:
- libteceif.dll
- libtecgw.dll
- teclcf.dll
These DLLs can be downloaded from the IBM Support Site with the Tivoli Endpoint Fixpack and can be simply copied to the remote server where the Expeditor integrator is located (see Tivoli Endpoint Installation and Configuration Example in APPENDIX B – Technical Details).
Setting up the environment
First, the Windows Environment variables from the Tivoli lcf_env.cmd file must be set for sending EIF Events to the TEC Console via the Tivoli Endpoint. Also, the ‘Path’ variable in Windows needs to be appended with the path containing the TEC DLLs. In cases where manual setting is difficult, this utility helps to automatically set the Environment variables as required.
There is a file in the Expeditor integrator:
/rcp/eclipse/plugins/com.ibm.rcp.base_/rcpinstall.properties, which may be used to set the Tivoli Environment variables. The format to be specified is env.set.XXX=YYY. This would set Environment variable XXX to value YYY. If the variable already exists, it will be replaced.
Follow these steps to use this TECLCFutility to update the rcpinstall.properties file:
- Unzip the TECLCFUtil.zip file under /tools to /tools/ TECLCFUtil.
- Edit the teclcf.properties file and add the full path to the Tivoli Endpoint's lcf_env.cmd file (use '/' for separator) after the TIVOLI_LCF_CMD_PATH. Save and close the file.
For example, TIVOLI_LCF_CMD_PATH=C:/WINNT/Tivoli/lcf/1/lcf_env.cmd
- Open a console window and change to the directory of the TECLCF utility (/tools/TECLCFUtil).
- Update the rcpinstall.properties under /rcp/eclipse/plugins/com.ibm.rcp.base_/ by running the TecLcfUtil.bat.
- Open the rcpinstall.properties and note that the file has been updated
Note: Please, make sure that the TecLcfUtil.bat points to an existing JRE (by default it points to the JRE provided with the Expeditor integrator).
Sample Files for TECLCF utility
lcf_env.cmd
Listing 30 shows an example of the lcf_env.cmd file that contains the required settings for using EIF with the local Tivoli Endpoint.
Listing 30: Example for lcf_env.cmd file
@echo off
REM Licensed Materials - Property of IBM
REM
REM 5698-FRA
REM
REM (C) Copyright IBM Corp. 1994, 2005 All Rights Reserved
REM
REM US Government Users Restricted Rights - Use, duplication or
REM disclosure restricted by GSA ADP Schedule Contract with
REM IBM Corp
rem Generated at lcf install time
if not "%LCF_BINDIR%" == "" goto END_ENV
set INTERP=w32-ix86
set LCFROOT=C:\Program Files\Tivoli\lcf
set LCF_INSTANCE=1
set LCF_DATDIR=C:\Program Files\Tivoli\lcf\dat\1
set LCF_BINDIR=%LCFROOT%\bin\%INTERP%\mrt
set LCF_LIBDIR=%LCF_BINDIR%
set LCF_CATDIR=%LCFROOT%\generic\msg_cat
set LCF_TOOLSDIR=%LCFROOT%\bin\%INTERP%\tools
set Path=%LCF_BINDIR%;%Path%
set NLSPATH=%LCF_CATDIR%\%%L\%%N.cat;%LCF_CATDIR%\%%l\%%N.cat;%LCF_CATDIR%\C\%%N.cat;%NLSPATH%
set TISDIR=%LCF_DATDIR%
set BEGINLIBPATH=%LCF_BINDIR%
echo Tivoli LCF environment variables configured.
:END_ENV
echo on
rcpinstall.properties (Input)
The rcpinstall.properties file contains all commands required to set the Eclipse start-up environment of the Expeditor integrator. The customized Tivoli environment settings provided in the teclcf.properties file (see Listing 32) will be added to it. Listing 31 shows the original rcpinstall.properties file.
Listing 31: rcpinstall.properties file example
###############################################################################
# Licensed Materials - Property of IBM
# 5724-R09
# (C) Copyright IBM Corp. 2006, 2008 All Rights Reserved.
###############################################################################
Xbootclasspath.append=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809290300/rcpbootcp.jar
-Dcom.ibm.pvc.webcontainer.port=0
-Declipse.registry.nulltoken=true
-Djava.protocol.handler.pkgs=com.ibm.net.ssl.www.protocol
-Djava.util.logging.config.class=com.ibm.rcp.core.internal.logger.boot.LoggerConfig
library.path.append.win32=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.win32_6.2.0.200809290300/os/win32/x86
library.path.append.linux=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.linux_6.2.0.200809290300/os/linux/x86
# Override eclipse default for BIDI dir
-Dosgi.nl.user=true
# Eclipse plugin_customization.ini override
plugincustomization=\${rcp.home}/rcp/plugin_customization.ini
# Exclude Eclipse logging hook
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook
# Java security file location
-Djava.security.properties=file:\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809290300/rcp.security.properties
# Java Core dump location. Note this is temp fix for only VM environmental variables
# This ability is not supported in the general case in 6.1
env.set.IBM_JAVACOREDIR=\${rcp.data}/logs
env.set.IBM_COREDIR=\${rcp.data}/logs
env.set.IBM_HEAPDUMPDIR=\${rcp.data}/logs
# JSR47 Logging Configuration
handlers=java.util.logging.ConsoleHandler com.ibm.rcp.core.internal.logger.boot.RCPLogHandler com.ibm.rcp.core.
internal.logger.boot.RCPTraceHandler
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.encoding=UTF-8
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.encoding=UTF-8
.level=WARNING
SystemOut.level=INFO
SystemErr.level=INFO
com.ibm.esupport.client.product.SSC4TNF.utils.level=INFO
com.ibm.rcp.core.internal.logger.frameworkhook.level=CONFIG
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.level=WARNING
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.level=FINEST
com.ibm.rcp.lapinvoker.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
# RCP Logging Configuration
#com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.formatter=com.ibm.rcp.core.internal.logger.cbe.CBE101Formatter
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.size=4000000
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.count=6
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.append=false
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.pattern=error-log-%g
# RCP Trace Configuration
#com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.formatter=com.ibm.rcp.core.internal.logger.cbe.CBE101Formatter
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.size=4000000
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.count=6
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.append=false
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.pattern=trace-log-%g
resetDir.com.ibm.rcp.portal.app=com.ibm.rcp.portal.app
resetDir.com.ibm.portal.cai=com.ibm.portal.cai
resetDir.com.ibm.rcp.topologyhandler=com.ibm.rcp.topologyhandler
resetDir.com.ibm.rcp.managedsettings=com.ibm.rcp.managedsettings
# Framework extensions for logging
# For 6.1.2 all -Dosgi.framework.extensions must be specified in jvm.properties
# MacOS X Requires the framework extension value for 6.1.2 so add it in a platform specific style
# rcplauncher binary filters this property such that only Mac platforms will use it
vmarg.osgi.framework.extensions.macosx=-Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook
teclcf.properties
This file contains the customized lines for the environment settings which are required for the Expeditor integrator Tivoli Monitor Service (iTMS) to use the local Tivoli Endpoint for forwarding the application events to the TEC. Listing 32 shows the lines that contain the settings of the local installation environment (Store Server) where the Expeditor integrator is installed.
Listing 32: Customized teclcf.properties example
#This File updated on Wed Jan 23 16:41:27 IST 2008
#Wed Jan 23 16:41:27 IST 2008
#Specify the full path to the Tivoli Endpoint's lcf_env.cmd file - use '/' for separator
#Example: TIVOLI_LCF_CMD_PATH=C:/WINNT/Tivoli/lcf/1/lcf_env.cmd
TIVOLI_LCF_CMD_PATH=C:/WINNT/Tivoli/lcf/1/lcf_env.cmd
#Specify the relative path to the rcpinstall.properties - use '/' for separator
#Example: XPDINTEG_RCPINSTALL_PROPERTIES_PATH=../../rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809140300/
rcpinstall.properties
XPDINTEG_RCPINSTALL_PROPERTIES_PATH=../../rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809140300/rcpinstall.properties
#Specify the relative path to the path where TEC DLLs are present - use '/' for separator
#Example: TEC_DLL_PATH=../tec
TEC_DLL_PATH=../tec
rcpinstall.properties (Output)
After running the TecLcfUtil.bat the rcpinstall.properties file will contain the customized Tivoli Endpoint environment settings (see Listing 33).
Listing 33: Customized rcpinstall.properties file (including Tivoli Endpoint environment settings)
###############################################################################
# Licensed Materials - Property of IBM
# 5724-R09
# (C) Copyright IBM Corp. 2006, 2008 All Rights Reserved.
###############################################################################
Xbootclasspath.append=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809290300/rcpbootcp.jar
-Dcom.ibm.pvc.webcontainer.port=0
-Declipse.registry.nulltoken=true
-Djava.protocol.handler.pkgs=com.ibm.net.ssl.www.protocol
-Djava.util.logging.config.class=com.ibm.rcp.core.internal.logger.boot.LoggerConfig
library.path.append.win32=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.win32_6.2.0.200809290300/os/win32/x86;
C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt;C\:/Program Files/IBM/Lotus/Expeditor/tools/tec
library.path.append.linux=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.linux_6.2.0.200809290300/os/linux/x86
# Override eclipse default for BIDI dir
-Dosgi.nl.user=true
# Eclipse plugin_customization.ini override
plugincustomization=\${rcp.home}/rcp/plugin_customization.ini
# Exclude Eclipse logging hook
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook
# Java security file location
-Djava.security.properties=file:\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.base_6.2.0.200809290300/rcp.security.properties
# Java Core dump location. Note this is temp fix for only VM environmental variables
# This ability is not supported in the general case in 6.1
env.set.IBM_JAVACOREDIR=\${rcp.data}/logs
env.set.IBM_COREDIR=\${rcp.data}/logs
env.set.IBM_HEAPDUMPDIR=\${rcp.data}/logs
# JSR47 Logging Configuration
handlers=java.util.logging.ConsoleHandler com.ibm.rcp.core.internal.logger.boot.RCPLogHandler com.ibm.rcp.core.
internal.logger.boot.RCPTraceHandler
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.encoding=UTF-8
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.encoding=UTF-8
.level=WARNING
SystemOut.level=INFO
SystemErr.level=INFO
com.ibm.esupport.client.product.SSC4TNF.utils.level=INFO
com.ibm.rcp.core.internal.logger.frameworkhook.level=CONFIG
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.level=WARNING
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.level=FINEST
com.ibm.rcp.lapinvoker.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
# RCP Logging Configuration
#com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.formatter=com.ibm.rcp.core.internal.logger.cbe.CBE101Formatter
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.size=4000000
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.count=6
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.append=false
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.pattern=error-log-%g
# RCP Trace Configuration
#com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.formatter=com.ibm.rcp.core.internal.logger.boot.RCPFormatter
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.formatter=com.ibm.rcp.core.internal.logger.cbe.CBE101Formatter
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.size=4000000
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.count=6
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.append=false
com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.pattern=trace-log-%g
resetDir.com.ibm.rcp.portal.app=com.ibm.rcp.portal.app
resetDir.com.ibm.portal.cai=com.ibm.portal.cai
resetDir.com.ibm.rcp.topologyhandler=com.ibm.rcp.topologyhandler
resetDir.com.ibm.rcp.managedsettings=com.ibm.rcp.managedsettings
# Framework extensions for logging
# For 6.1.2 all -Dosgi.framework.extensions must be specified in jvm.properties
# MacOS X Requires the framework extension value for 6.1.2 so add it in a platform specific style
# rcplauncher binary filters this property such that only Mac platforms will use it
vmarg.osgi.framework.extensions.macosx=-Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook
# Tivoli LCF Windows Environment Variables Configuration
env.set.INTERP=w32-ix86
env.set.LCFROOT=C\:/Program Files/Tivoli/lcf
env.set.LCF_INSTANCE=1
env.set.LCF_DATDIR=C\:/Program Files/Tivoli/lcf/dat/1
env.set.LCF_BINDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
env.set.LCF_LIBDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
env.set.LCF_CATDIR=C\:/Program Files/Tivoli/lcf/generic/msg_cat
env.set.LCF_TOOLSDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/tools
env.set.NLSPATH=C\:/Program Files/Tivoli/lcf/generic/msg_cat/%%L/%%N.cat;C\:/Program Files/Tivoli/lcf/generic/msg_cat/%%l/%%N.cat;C\:/Program Files/Tivoli/lcf/generic/msg_cat/C/%%N.cat
env.set.TISDIR=C\:/Program Files/Tivoli/lcf/dat/1
env.set.BEGINLIBPATH=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
Lines appended to rcpinstall.properties (Input)
The following lines in Listing 34 are appended to the input rcpinstall.properties from Listing 31.
Listing 34: Tivoli Endpoint environment settings that are added to the rcpinstall.properties file
# Tivoli LCF Windows Environment Variables Configuration
env.set.INTERP=w32-ix86
env.set.LCFROOT=C\:/Program Files/Tivoli/lcf
env.set.LCF_INSTANCE=1
env.set.LCF_DATDIR=C\:/Program Files/Tivoli/lcf/dat/1
env.set.LCF_BINDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
env.set.LCF_LIBDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
env.set.LCF_CATDIR=C\:/Program Files/Tivoli/lcf/generic/msg_cat
env.set.LCF_TOOLSDIR=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/tools
env.set.NLSPATH=C\:/Program Files/Tivoli/lcf/generic/msg_cat/%%L/%%N.cat;C\:/Program Files/Tivoli/lcf/generic/
msg_cat/%%l/%%N.cat;C\:/Program Files/Tivoli/lcf/generic/msg_cat/C/%%N.cat
env.set.TISDIR=C\:/Program Files/Tivoli/lcf/dat/1
env.set.BEGINLIBPATH=C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt
Also, the line:
library.path.append.win32=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.win32_6.2.0.200809290300/os/win32/x86
is changed to
library.path.append.win32=\${rcp.home}/rcp/eclipse/plugins/com.ibm.rcp.os.win32_6.2.0.200809290300/os/
win32/x86;C\:/Program Files/Tivoli/lcf/bin/w32-ix86/mrt;C\:/Program Files/IBM/Lotus/Expeditor/tools/tec
Notes:
- Run the TecLcfUtil.bat only once, as the rcpinstall.properties will have duplicate entries for the Environment variables, which will result in an inconsistent state for rcpinstall.properties. If the rcpinstall.properties goes to an inconsistent state at any point, delete it and rename the rcpinstall.properties.bak (backed up by our utility) located in the same directory to rcpinstall.properties and re-run TecLcfUtil.bat.
- The format /tools/tec (the backslash before the colon) is needed for absolute paths in rcpinstall.properties.
- It is not recommended to change the values for properties TEC_DLL_PATH and XPDINTEG_RCPINSTALL_PROPERTIES_PATH in teclcf.properties (see Listing 32). They are only included to provide flexibility if we ever wish to change the TEC DLLs path and update the version of the com.ibm.rcp.base plugin for future versions of the Expeditor integrator.
- Also, make sure that the absolute path for the TEC DLLs on the file-system (including the DLL name and extension ‘dll’) do not have more than 68 characters. Else, DLLs fail to load in Windows 2000. So, it is recommended that the Expeditor integrator is installed at e.g. C:/XPDINTEG, then the dlls would be in C:/XPDINTEG/tools/tec.
Further Services
House Keeping for Expeditor integrator Runtime
Expeditor integrator was especially designed for stable, reliable, headless and remote operation.
The House Keeping feature has been developed to avoid the Expeditor integrator runtime and the remote server on which Expeditor integrator is installed on facing problems due to:
- unprocessed messages
- indefinetely growing queues and files
- blocked and looping ACS flows
- or other lack of resources.
The House Keeping is implemented as ACS Flow (Default_HouseKeeping.flow) which can be configured to run periodically (e.g. once a week). This flow is triggered by an event which fired by the SampleHouseKeepingAdapter (see Generic Resource Adapter example in Listing 20).
If House Keeping is not required, the Default_HouseKeeping.flow file can be removed from the /flowdefs/system directory.
More configuration details are provided in chapter 6.7.
Transaction Service Configuration
The Transaction Service provides transactional reliability to Expeditor integrator Application Control Service Flows (ACS Flows).
General format:
<transaction-service>
<log-size>log_file_size_in_kbyte</log-size>
<persistence-directory>my_persistence_log&trace_directory</persistence-directory>
<trace-setting>ON_or_ALL</trace-setting>
</transaction-service>
The following table contains possible configuration parameters.
Table 31: Transaction Service configuration parameters
Property | Explanation |
| Tag indicating Transaction Service configuration section |
| Integer: size of the created transaction log file in kByte |
| directory for the transaction log and trace files; default /persistence/txlogdir |
| ON or ALL
Switches tracing of all transactions off or on. Please, be aware of performance impacts when tracing is switched on! |
The default configuration setting is given in Table 32.
Table 32: Sample configuration for the Transaction Service (max. log file size = 102 MB and tracing is switched off)
<transaction-service>
<log-size>102400</log-size>
<persistence-directory>persistent/txlogdir</persistence-directory>
<trace-setting>OFF</trace-setting>
</transaction-service>
Persistence Service Configuration
The Persistence Service is used to for storing important information to the local Expeditor client database. It allows persisiting Business Events, Log Events, Application Status Events and Bundle Events. For example, temporary stored information can be used for keeping track of application status information. This information could be retrieved by other service, e.g. by a monitoring service or the REST Adapter for its HTTP Response message.
Note: Be careful with using the Persistence Service, because the used database operation has strong performance impact!
The Persistence Service can be configured as follows.
General Format:
<persistence-service>
<database-configuration>
<param name="DBURI" value="jdbc:derby:persistent/PersistentStore;create=true"/>
<param name="DRIVER_CLASS" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<param name="USER" value="xpdinteg"/>
<param name="PASSWORD" value="xpdinteg"/>
</database-configuration>
<persist>
<business-event persistence="ON">
<filter-topics>
<topic>com/ibm/integrator/businessevent/*</topic>
...
<appl-status-event persistence="ON">
<filter-topics>
<topic>com/ibm/integrator/XPDintegApplStatusEvent</topic>
...
<log-event persistence="ON">
<threshold>WARNING</threshold>
<monitored-bundles>
<bundle>com.ibm.rcp.integrator.acsvc</bundle>
...
<bundle-event persistence="ON">
<monitored-bundles>
<bundle>com.ibm.rcp.integrator.queuedispatchersvc</bundle>
</monitored-bundles>
<monitored-status>
<status>STARTED</status>
<status>STOPPED</status>
</monitored-status>
Table 33 describes in detail the different configuration parameters.
Table 33: Persistence Service configuration properties
Property | Explanation |
| Tag indicating Transaction Service configuration section in the XPDinteg.xml file |
| Tag under which the local (Derby) database access parameters are configured. |
| " jdbc:derby:persistent/PersistentStore;create=true“
Provides the database URI access parameters.
|
| Fully qualified Driver Class Name for the local (Derby) database access. Default:
value=”org.apache.derby.jdbc.EmbeddedDriver"/>
|
| UserName to connect to the DB (optional), default: value="xpdinteg" |
| Password to connect to the DB (optional), default: value="xpdinteg |
<business-event persistence= | Tag for activating persistence of Business Events
possible values: "ON" or "OFF" |
| Contains a list of Business Event topics (separated by the tag) which the Persistence Service is subscribed to. The Persistence Service will save these events to the configured local database. |
| A single tag contains one topic. Wildcards are allowed for the business event topics. |
<appl-status-event persistence= | Flag for activating persistence application Status Events.
Possible values: "ON" or "OFF" |
| Contains a list of Application Status Event topics (separated by the tag) which the Persistence Service is subscribed to. The Persistence Service will save these events to the configured local database. |
| A single tag contains one topic to be considered for persistence. Multiple topics require multiple tags. |
<log-event persistence= | Flag for activating persistence of Log Events
possible values: "ON" or "OFF" |
| Log threshold for filtering and persisting the Log Events
possible values: {DEBUG | INFO | WARNING | ERROR} |
| Contains a list of bundles from which Log Events are persisted. If no value is specified, log events from all the bundles are filtered and persisted. |
| A single tag contains on bundle for which Log Events are persisted. |
<bundle-event persistence= | Flag for activating persistence of Bundle Events
possible values: {ON | OFF} |
| Contains a list of bundles from which the Bundle Events are persisted. If no value is specified, bundle events from all the bundles are filtered and persisted |
| A single tag contains one bundle for which Bundle Events are persisted. |
| Contains a list of states for which the Bundle Events are persisted. If no value is specified, all the bundle state changes are filtered and persisted. |
| A single tag contains one monitored status.
Possible values are: {INSTALLED | STARTED | STOPPED} |
Listing 35 provides an example for Pesistence Service configuration.
Listing 35: Persistence Service example configuration
}
com/ibm/integrator/businessevent/*
com/ibm/integrator/XPDintegApplStatusEvent
WARNING
com.ibm.rcp.integrator.acsvc
com.ibm.rcp.integrator.queuedispatchersvc
STARTED
STOPPED
{code]
Password encryption utility
The XPDinteg.xml file contains resource access credentials (e.g. for FTP Servers). These credentials can be provided in the clear or encrypted (indicated by {xor}). For the latter case, a small password encryption tool is provided with the Expeditor integrator (see /tools/PasswordUtil sub folder). This password utility is a command line tool that reads the password provided in the passwordutil.properties file and encrypts it appropriately.
Follow these steps to encrypt a password:
- Unzip the PasswordUtil.zip file under the /tools/PasswordUtil.zip
- Edit the password.properties file and add your password after the password parameter. Save and close the file. For example, password=mgirealibm
- Open a console window and change to the directory of the password utility (/tools/PasswordUtil).
- Encrypt your provided password by running the PasswordUtil.bat .
- Open the password.properties file again and copy the now encrypted password into your target file (e.g. the XPDinteg.xml file). The keyword {xor} indicates that the following characters are encrypted.
Note: Please, make sure that the PasswordUtil.bat points to an existing JDK (by default it points to the JDK provided with the Expeditor integrator; compare XPDintegReset.bat in chapter Start / Stop Expeditor integrator).